package cn.cw.liyebao.web;

import cn.cw.liyebao.domain.Account;
import cn.cw.liyebao.mapper.AccountMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

@RestController
public class EchartDemo {

    @Autowired
    private AccountMapper accountMapper;

    /*
        因为这里查询的业务逻辑不复杂，我是为了方便代码都放在一起，好阅读，我就不创建service。
     */
    @GetMapping("/queryAccountEchartData")
    public HashMap<String, Object> queryAccountEchartData() {
        //第1步：按要求查询数据
        List<Account> list = accountMapper.queryAccountEchartData();

        List<LocalDateTime> xAxis = new ArrayList<>();// 这个集合中会存x轴上的数据
        List<Double> seris = new ArrayList<>();     //这个集合存的展示xy坐标区域内的数据
        for (Account account : list) {
            //动态保存创建时间
            xAxis.add(account.getCreateTime());
            //动态保存要展示的数据
            seris.add(account.getAccountNum());
        }

        //在返回给前端时，将2组数组数据进行封装并保存到map中
        HashMap<String, Object> map = new HashMap<>();
        map.put("xAxis", xAxis);
        map.put("seris", seris);

        return map;


    }


}
